const path = require("path");
const webpack = require("webpack");
const UglifyJsPlugin = require("uglifyjs-webpack-plugin");
module.exports = {
    devtool: 'source-map',
    entry: "./demo/src/assets/js/sh-ui.js",//入口文件，就是上步骤的src目录下的index.js文件，
    output: {
        path: path.resolve(__dirname, './dist'),//输出路径，就是上步骤中新建的dist目录，
        publicPath: '/dist/', filename: 'sh-ui.min.js', libraryTarget: 'umd', umdNamedDefine: true
    },
    module: {
        rules: [{
            test: /\.vue$/, loader: 'vue-loader',
            options: {
                postcss: [require('autoprefixer')],
            }
        }, {
            test: /\.scss$/,
            use: [{loader: "style-loader"}, {loader: "css-loader"}, {loader: "sass-loader"}, {loader: "postcss-loader"}]
        }, {
            test: /\.js$/,
            // include: ['./src'],
            // exclude: /node_modules|vue\/dist|vue-router\/|vue-loader\/|vue-hot-reload-api\//,
            include:[
                path.resolve(__dirname, 'demo/src'),
                path.resolve(__dirname, 'demo/node_modules/swiper'),
                path.resolve(__dirname, 'demo/node_modules/dom7'),
                path.resolve(__dirname, 'demo/node_modules/ssr-window'),
            ],
            // include: /demo\/src/,
            loader: 'babel-loader'
        }, {
            test: /\.(png|jpg|gif|ttf|svg|woff|eot)$/,
            loader: 'url-loader',
            query: {limit: 30000, name: '[name].[ext]?[hash]'}
        }]
    },
    plugins: [
        new webpack.DefinePlugin({
            "process.env": {
                NODE_ENV: JSON.stringify("production")
            }
        }),
        new UglifyJsPlugin({
            uglifyOptions: {
                compress: {
                    warnings: false
                }
            },
            sourceMap: true,
            parallel: true
        }),
    ],
};